All computer codes are in MATLAB. A brief description of the codes is as follows:

-'precession_Bloch_depth.m': Quantum mechanical Bloch wave calculation of precession intensity pendellosung.
-'precession_matrix_depth.m': Physical optics Bloch wave calculation of precession intensity pendellosung.
-'precession_multislice_depth.m': Multislice calculation of precession intensity pendellosung.

-'STEM_matrix_DP.m': Physical optics Bloch wave calculation of CBED diffraction pattern.
-'STEM_multislice_DP.m': Multislice calculation of CBED diffraction pattern.

-'STEM_matrix_image.m': Physical optics Bloch wave calculation of 4D STEM images.
-'STEM_multislice_image.m': Multislice calculation of 4D STEM images.

-'plasmon_matrix_DP.m': Physical optics Bloch wave calculation of diffraction pattern including plasmon scattering.
-'plasmon_multislice_DP.m': Multislice calculation of diffraction pattern including plasmon scattering.

-'phonon_matrix_DP.m': Physical optics Bloch wave calculation of diffraction pattern including phonon scattering.
-'phonon_multislice_DP.m': Multislice calculation of diffraction pattern including phonon scattering.
-'frozen_phonon_multislice.m': Multislice calculation of diffraction pattern using frozen phonons.

All of the above codes are for Si-[001]. The multislice calculations made use of the following structural files as input:

Si100_sliceA.txt
Si100_sliceB.txt
Si100_sliceC.txt
Si100_sliceD.txt